package ucla.axelia.vista;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import ucla.axelia.controlador.interfaces.IServicioAdministracionAsignarProgramasUsuarios;


import com.obelisco.vista.componentes.ContenedorBusqueda;
import com.obelisco.vista.controles.Grid;
import com.obelisco.vista.controles.Label;
import com.obelisco.vista.controles.TextField;

public class ContenedorBusquedaUsuariosCatalogo extends ContenedorBusqueda{

	private TextField txtLogin;
	private TextField txtNombreCompleto;;

	private IServicioAdministracionAsignarProgramasUsuarios servicioAdministracionAsignarProgramasUsuarios;
	
	
	public ContenedorBusquedaUsuariosCatalogo() {
		super();		
		initComponents();
	}
	
	private void initComponents() {	   
			
		this.removeAll();
		this.setEnabled(true);
		
	    Grid gridBusqueda = new Grid();
		gridBusqueda.setSize(4);
		gridBusqueda.setStyleName("Obelisco.GridPaneDialogo");
		add(gridBusqueda);
					
		Label lbLogin = new Label("Login");
		gridBusqueda.add(lbLogin);		
		txtLogin = new TextField(100);
		gridBusqueda.add(txtLogin);
		
		Label lbNombre = new Label("Nombre");
		gridBusqueda.add(lbNombre);		
		txtNombreCompleto = new TextField(120);
		gridBusqueda.add(txtNombreCompleto);
		
	}
	
	public Object[] getValoresParametros() {
		return null;
	}
 		
	@Override
	public void inicializar() {
		txtLogin.setText("");
		txtNombreCompleto.setText("");	
	}

	@Override
	public List realizarBusqueda() {
		List usuarios = new ArrayList();
		Map<String, Object> criterios = new HashMap();
		if (!txtLogin.getText().trim().equals(""))
			criterios.put("login", txtLogin.getText().trim());
		if (!txtNombreCompleto.getText().trim().equals(""))
			criterios.put("nombrecompleto", txtNombreCompleto.getText().trim());
		try {
			usuarios = servicioAdministracionAsignarProgramasUsuarios.buscarUsuariosPorCriterios(criterios);
		}
		catch(Exception e) {
			e.printStackTrace();
		}
		
		txtLogin.setText("");
		txtNombreCompleto.setText("");	
		return usuarios;
	}


	// Getter y Setter
	public IServicioAdministracionAsignarProgramasUsuarios getServicioAdministracionAsignarProgramasUsuarios() {
		return servicioAdministracionAsignarProgramasUsuarios;
	}

	public void setServicioAdministracionAsignarProgramasUsuarios(
			IServicioAdministracionAsignarProgramasUsuarios servicioAdministracionContenedorBusquedaUsuariosCatalogo) {
		this.servicioAdministracionAsignarProgramasUsuarios = servicioAdministracionContenedorBusquedaUsuariosCatalogo;
	}

}
